#!/usr/bin/env python
# Create: 2018/10/23
__author__ = '749B'
"""asyncio + aiohttp"""

import aiohttp
import asyncio
from bs4 import BeautifulSoup


url_list = [
    'https://github.com/explore',
    'https://www.djangoproject.com/',
    'http://www.python-requests.org/en/master/',
    'https://jquery.com/',
    'https://getbootstrap.com/',
    'https://www.solarwinds.com/',
    'https://www.zabbix.com/',
    'http://open-falcon.org/',
    'https://www.python.org/',
    'http://www.jetbrains.com/',
]


async def fetch_async(url):
    async with aiohttp.request('GET', url) as r:
        text = await r.text('utf-8')
        soup = BeautifulSoup(text, features='html.parser')
        title = soup.find('title')
        print(title)


if __name__ == '__main__':
    tasks = []
    for url in url_list:
        tasks.append(fetch_async(url))
    loop = asyncio.get_event_loop()
    loop.run_until_complete(asyncio.gather(*tasks))
    loop.close()

